package com.ffox.service;

import com.ffox.entity.GroupChatFile;
import com.ffox.entity.GroupChatMessage;
import com.ffox.entity.GroupChatNotification;
import com.ffox.service.dto.MemberDto;
import com.ffox.service.dto.MessageDto;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface UserGroupchatService {
        /*发送文件
    发送通知
    发送消息
    根据id逻辑删除文件
    根据id逻辑删除通知
    根据id逻辑删除消息
    根据class_id查询所有消息
    根据class_id查询所有文件
    根据class_id查询所有通知*/

    // 消息相关
    MessageDto sendMessage(GroupChatMessage message);
    Integer deleteMessage(Long messageId);
    List<MessageDto> getMessages(Long classId);

    // 文件相关
    Integer uploadFile(Long classId,String userNum, MultipartFile files);
    Integer deleteFile(Long fileId);
    List<GroupChatFile> getFiles(Long classId);

    // 通知相关
    Integer createNotification(GroupChatNotification notification);
    Integer deleteNotification(Long notificationId);
    List<GroupChatNotification> getNotifications(Long classId);
    Integer markNotificationReadCount(Long notificationId);
    Integer updateNotificationIsPinned(Long notificationId, Byte IsPinned);

//    获取成员列表
    List<MemberDto> getClassMembers(Long classId);


}
